diff options
Diffstat (limited to 'app/[lng]/partners/(partners)/_dolce-upload/page.tsx')
| -rw-r--r-- | app/[lng]/partners/(partners)/_dolce-upload/page.tsx | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/app/[lng]/partners/(partners)/_dolce-upload/page.tsx b/app/[lng]/partners/(partners)/_dolce-upload/page.tsx new file mode 100644 index 00000000..4d7b1a74 --- /dev/null +++ b/app/[lng]/partners/(partners)/_dolce-upload/page.tsx @@ -0,0 +1,67 @@ +import { Suspense } from "react"; +import { Skeleton } from "@/components/ui/skeleton"; +import { Card, CardContent, CardHeader } from "@/components/ui/card"; +import DolceUploadPage from "./dolce-upload-page"; +import { Shell } from "@/components/shell"; + +export const metadata = { + title: "조선 벤더문서 업로드(DOLCE)", + description: "조선 설계문서 업로드 및 관리", +}; + +// ============================================================================ +// 로딩 스켈레톤 +// ============================================================================ + +function DolceUploadSkeleton() { + return ( + <Card> + <CardHeader> + <div className="flex items-center justify-between"> + <Skeleton className="h-8 w-32" /> + <Skeleton className="h-10 w-40" /> + </div> + </CardHeader> + <CardContent className="space-y-4"> + <Skeleton className="h-32 w-full" /> + <Skeleton className="h-96 w-full" /> + </CardContent> + </Card> + ); +} + +export default async function DolceUploadPageWrapper({ + params, + searchParams, +}: { + params: Promise<{ lng: string }>; + searchParams: Promise<{ [key: string]: string | string[] | undefined }>; +}) { + const { lng } = await params; + const resolvedParams = await searchParams; + + return ( + <Shell> + {/* 헤더 */} + <div className="flex items-center justify-between"> + <div> + <h2 className="text-2xl font-bold tracking-tight"> + {lng === "ko" + ? "DOLCE 도면 업로드" + : "DOLCE Drawing Upload"} + </h2> + <p className="text-muted-foreground"> + {lng === "ko" + ? "설계문서를 조회하고 업로드할 수 있습니다" + : "View and upload design documents"} + </p> + </div> + </div> + + {/* 메인 컨텐츠 */} + <Suspense fallback={<DolceUploadSkeleton />}> + <DolceUploadPage searchParams={resolvedParams} /> + </Suspense> + </Shell> + ); +}
\ No newline at end of file |
